package org.jctc.els.modules.biz.service.pro;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jctc.els.modules.biz.entity.pro.*;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;


/**
 * 评审表;(els_project_review)表服务接口
 * @author : http://www.chiner.pro
 * @date : 2022-6-21
 */
public interface ElsProjectReviewService{

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    ElsProjectReview queryById(Long id);

    /**
     * 分页查询
     *
     * @param elsProjectReview 筛选条件
     * @param current 当前页码
     * @param size  每页大小
     * @return
     */
    Page<ElsProjectReview> paginQuery(ElsProjectReview elsProjectReview, long current, long size);
    /**
     * 新增数据
     *
     * @param elsProjectReview 实例对象
     * @return 实例对象
     */
    ElsProjectReview insert(ElsProjectReview elsProjectReview);
    /**
     * 更新数据
     *
     * @param elsProjectReview 实例对象
     * @return 实例对象
     */
    ElsProjectReview update(ElsProjectReview elsProjectReview);
    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Long id);

    Boolean insertAnswerProReview(ProjectReviewVO elsProjectReview);

    ProjectReviewVO selectByProjectIdAndExpertId(Long projectId,Long userId);

    IPage<ProjectReviewAuditVO> selectExpertScore(Integer pageNum, Integer pageSize, Long projectId);

    Boolean updateExpertAudit(ProjectReviewAudit expertAudit);

    Boolean updateAdminAudit(ProjectReviewAudit expertAudit);

    List<ProjectReviewZGPXExcel> exportZGPX( Long baseRole,String projectName, Long teamId,Integer status);

    List<ProjectReviewRCPJExcel> exportRCPJ(Long baseRole,String projectName, Long teamId,Integer status );

    List<ProjectReviewPXKFExcel> exportPXKF(Long baseRole ,String projectName, Long teamId,Integer status);

    List<ProjectReviewPXKFExcel> exportPXGZ(Long baseRole ,String projectName, Long teamId,Integer status);

    List<ProjectReviewJGExcel> exportJG(Long baseRole ,String projectName, Long teamId,Integer status);

    Integer selectByid(Long aLong);
}
